//package com.exrobot.module.rbt.service.salefood;
//
//import java.time.LocalDate;
//import java.time.LocalDateTime;
//import java.time.LocalTime;
//import java.util.*;
//
//import com.exrobot.module.rbt.enums.RbtSaleFoodStatusEnum;
//import com.exrobot.module.rbt.service.robotScheduler.RobotFood;
//import com.exrobot.module.rbt.service.robotScheduler.SaleOrder;
//import jakarta.validation.*;
//import com.exrobot.module.rbt.controller.admin.salefood.vo.*;
//import com.exrobot.module.rbt.dal.dataobject.salefood.SaleFoodDO;
//import com.exrobot.framework.common.pojo.PageResult;
//import com.exrobot.framework.common.pojo.PageParam;
//
//import static com.exrobot.framework.common.util.collection.CollectionUtils.convertMap;
//
///**
// * 可销售食品 Service 接口
// *
// * @author 超级管理员
// */
//public interface SaleFoodService {
//
//    /**
//     * 创建可销售食品
//     *
//     * @param createReqVO 创建信息
//     * @return 编号
//     */
//    Long createSaleFood(@Valid SaleFoodSaveReqVO createReqVO);
//    Long createBatchSaleFood(List<SaleFoodDO> list);
//
//    /**
//     * 更新可销售食品
//     *
//     * @param updateReqVO 更新信息
//     */
//    void updateSaleFood(@Valid SaleFoodSaveReqVO updateReqVO);
//
//    void updateSaleFoodCompleted(String sn,String code);
//
//    void updateSaleFoodChange(String sn,List<String> codes);
//
//    /**
//     * 删除可销售食品
//     *
//     * @param id 编号
//     */
//    void deleteSaleFood(Long id);
//
//    /**
//    * 批量删除可销售食品
//    *
//    * @param ids 编号
//    */
//    void deleteSaleFoodListByIds(List<Long> ids);
//
//    /**
//     * 获得可销售食品
//     *
//     * @param id 编号
//     * @return 可销售食品
//     */
//    SaleFoodDO getSaleFood(Long id);
//
//    /**
//     * 获得可销售食品分页
//     *
//     * @param pageReqVO 分页查询
//     * @return 可销售食品分页
//     */
//    PageResult<SaleFoodDO> getSaleFoodPage(SaleFoodPageReqVO pageReqVO);
//
//    List<SaleFoodDO> getSaleFoodList(SaleFoodPageReqVO pageReqVO);
//
//    default Map<Integer,SaleFoodDO> getSaleFoodMap(String sn) {
//        LocalDate today = LocalDate.now();
//        LocalDateTime startTime = LocalDateTime.of(today, LocalTime.MIN);
//        LocalDateTime endTime = LocalDateTime.of(today, LocalTime.MAX);
//        SaleFoodPageReqVO reqVO = new SaleFoodPageReqVO();
//        reqVO.setRobotSn(sn);
//        reqVO.setMealDate(new LocalDateTime[]{startTime, endTime});
//        reqVO.setStatusList(Arrays.asList(RbtSaleFoodStatusEnum.SALE.getVal(),RbtSaleFoodStatusEnum.ORDER.getVal()));
//        return convertMap(getSaleFoodList(reqVO), SaleFoodDO::getRobotBoxSn);
//    }
//
//    /**
//     * 获取机器人当天可销售
//     *
//     * @return 获取机器人当天可销售
//     */
//    List<RobotFood> getRobotSalseFoodByToday();
//
//    List<SaleFoodDO> assignOrderToRobot(SaleOrder order,List<String> sns);
//
//
//
//
//}